﻿/*
#**************************************************************************
#  openSIS is a student information system for public and non-public 
#  schools from Open Solutions for Education, Inc. web: www.os4ed.com
#
#  openSIS is  web-based, open source, and comes packed with features that 
#  include student demographic info, scheduling, grade book, attendance, 
#  report cards, eligibility, transcripts, parent portal, 
#  student portal and more.   
#
#  Visit the openSIS web site at http://www.opensis.com to learn more.
#  If you have question regarding this system or the license, please send 
#  an email to info@os4ed.com.
#
#  This program is released under the terms of the GNU General Public License  
#  as  published by the Free Software Foundation, version 2 of the License. 
#  See license.txt.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#**************************************************************************** 

*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.ServiceModel;

namespace WcfService1
{
    [ServiceContract]
    public interface IOpenSISWCFServiceStudentSetup
    {
        [OperationContract]
        DataTable GetSchoolSpecificCategory(string SchoolId,string LanguageTool);
        [OperationContract]
        DataSet populateUserControls();
        [OperationContract]
        DataSet populateCategory(int SchoolID, string LanguageTool);
        [OperationContract]
        DataTable GetFieldsByCategory(int CategoryId, int SchoolId, string LanguageTool);
        [OperationContract]
        int CheckDefaultAddressFieldCount(int FieldId);
        [OperationContract]
        DataTable GetAddressFieldsByFieldId(int SchoolId, int FieldId, string LanguageTool);
        [OperationContract]
        DataTable GetSpecialEducation(int SchoolId, string LanguageTool);
        [OperationContract]
        DataTable GetGiftedEducation(int SchoolId, string LanguageTool);
        [OperationContract]
        DataTable GetAdditionalContact(int SchoolId, string LanguageTool);
        [OperationContract]
        void ControlAdd(string ExtraFieldId,string FieldName,string ControlType,int SchoolId,string StudentId,string StaffTypeId  ,string CategoryId);
        [OperationContract]
        void AddDdlListItem(string ExtraFieldId ,string DdlListitemName);
        [OperationContract]
        int getExtraFieldId();       
        [OperationContract]
        void deleteListItems(string ExtraFieldId);       
        [OperationContract]
        void deletecustomfield( string ExtraFieldId);    
        [OperationContract]
        System.Data.DataTable populatecustomfield(int SchoolId,int StudentId);   
        [OperationContract]
        void AddCategory(string CategoryName,int SchoolId);
        [OperationContract]
        System.Data.DataTable GetMaxCatergoryId();   
        [OperationContract]
        void UpdateDefaultFieldStatus(string FieldStatus,int FieldId,int SchoolId);
        [OperationContract]
        void UpdateCustomFieldStatus( string FieldStatus ,string FieldId);
        [OperationContract]
        int CheckDefaultFieldCount( int FieldId ,int SchoolId);
        [OperationContract]
        void InsertDefaultFieldStatus(int FieldId ,string FieldStatus,int SchoolId,string FieldView);
        [OperationContract]
        int CheckSpecialFieldFromStatusTable(int FieldId ,int SchoolId);      
        [OperationContract]
        void UpdateDefaultSpecialFieldStatus( string FieldStatus ,int FieldId,int SchoolId );
        [OperationContract]
        void UpdateDefaultSpecialFieldView( string FieldView,int FieldId,int SchoolId);
        [OperationContract]
        void Insertspecialfieldstatus(int FieldId,string FieldStatus,int SchoolId,string FieldView );
        [OperationContract]
        int CheckGiftedFieldFromStatusTable( int FieldId,int SchoolId );
        [OperationContract]
        void UpdateDefaultGiftedFieldView(string FieldView ,int FieldId ,int SchoolId);
        [OperationContract]
        void UpdateDefaultgiftedFieldViewStatus(string FieldStatus,int FieldId,int SchoolId);
        [OperationContract]
        void Insertgiftedfieldstatus(int FieldId,string FieldStatus,int SchoolId,string FieldView);
        [OperationContract]
        int CheckAddressFieldFromStatusTable( int FieldId,int SchoolId);
        [OperationContract]
        void UpdateDefaultAddressFieldStatus( string FieldStatus,int FieldId,int SchoolId );
        [OperationContract]
        void InsertDefaultAddressFieldStatus(string FieldStatus, int FieldId, int SchoolId,string Fieldview);
        [OperationContract]
        int CheckAdditionalContactList(int FieldId ,int SchoolId );
        [OperationContract]
        System.Data.DataTable GetAdditionalContactFields(int  FieldId,int SchoolId,string Langto);
        [OperationContract]
        void UpdateAdditionalAddressFieldStatus(string FieldStatus,int FieldId,int SchoolId);
        [OperationContract]
        int CheckAdditionalAddressFieldFromStatusTable( int FieldId,int SchoolId);
        [OperationContract]
        void InsertAdditionalAddressFieldStatus(int FieldId,string FieldStatus,int SchoolId ,string FieldView);
        [OperationContract]
        void UpdateDefaultFieldView(string FieldView,int FieldId,int SchoolId);
        [OperationContract]
        void UpdateCustomFieldView(string FieldView,int FieldId);
        [OperationContract]
        void UpdateDefaultAddressFieldView( string FieldView,int FieldId,int SchoolId );
        [OperationContract]
        void UpdateAdditionalAddressFieldView(string FieldView,int FieldId,int SchoolId);
        [OperationContract]
        void UpdateCategoryNameAndOrder(int Cat_ID, int Short_Order, string Cat_Name, int Previous_Order);
    }
}